// 二次封装本地存储的方法

/**
 * 获取本地数据 const data = getItem('a')
 * @param {String} key localStorage.getItem的key
 */
export const getItem = key => {
  const data = localStorage.getItem(key)
  // 获取到的本地数据
  // 1. 普通字符串
  // 2. JSON字符串
  try {
    return JSON.parse(data) // 没出异常代表是JSON字符串 return 处理之后的
  } catch (err) {
    return data // try 出异常 普通字符串 return data
  }
}

/**
 * 保存本地数据
 * @param {String} key localStorage.setIte的第一个参数
 * @param {any} value localStorage.setIte的第二个参数
 */
export const setItem = (key, value) => {
  // 判断是否为object
  if (typeof value === 'object') {
    value = JSON.stringify(value)
  }
  localStorage.setItem(key, value)
}

/**
 * 删除本地数据
 * @param {String} key localStorage.removeItem的形参
 */
export const removeItem = key => {
  localStorage.removeItem(key)
}
